package com.fansl.allround.daemon.quartz.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @author fansl
 * @Description: 定时任务
 * @date 2020/1/10 16:39
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("schedule_job")
public class ScheduleJob extends Model<ScheduleJob> {
    private static final long serialVersionUID = 1L;
    /**
     * 任务ID
     */
    @TableId(value = "job_id", type = IdType.AUTO)
    private Long jobId;
    /**
     * 任务名称
     */
    private String jobName;
    /**
     * 任务组名
     */
    private String jobGroup;
    /**
     * 任务方法
     */
    private String methodName;
    /**
     * 方法参数
     */
    private String methodParams;
    /**
     * cron表达式
     */
    private String cronExpression;
    /**
     * cron计划策略
     * @see com.fansl.allround.common.core.constant.enums.ScheduleMisfirePolicyEnum
     */
    private Integer misfirePolicy;

    /**
     * 是否并发执行（0允许 1禁止）
     */
    private Integer concurrent;
    /**
     * 任务状态
     *
     * @see com.fansl.allround.common.core.constant.enums.ScheduleJobStatusEnum
     */
    private Integer status;
    /**
     * 备注
     */
    private String remark;
    /**
     * 执行次数
     */
    private Integer executeNum;
}
